package com.yonyou.sto.modules.ims.dto;

import com.yonyou.sto.modules.ims.model.ImsCancleInvoiceItem;
import com.yonyou.sto.modules.ims.model.ImsInvoiceItem;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import java.math.BigDecimal;
import java.util.List;

/**
 * @author ：Targaryen Aegon
 * @version ：1.0-SNAPSHOT
 * @date ：Created in 2020/9/25 10:24
 * @description ：开票用dto
 * @modifiedBy ：
 */
@Data
@ApiModel(value="单据列表对象", description="")
public class CancleInvoiceDto {

    @ApiModelProperty(value = "收款单id")
    private String id;

    @ApiModelProperty(value = "收款单编号")
    private String billSn;

    @ApiModelProperty(value = "发票流水号")
    private String billSerial;

    @ApiModelProperty(value = "发票内容")
    private String billContent;

    @ApiModelProperty(value = "收款单位编号")
    private String sellerSn;

    @ApiModelProperty(value = "收款单位名称 ")
    private String sellerName;

    @ApiModelProperty(value = "购买方名称")
    private String buyerName;

    @ApiModelProperty(value = "购买方纳税人识别号")
    private String buyerTaxSn;

    @ApiModelProperty(value = "购买方电话")
    private String buyerPhone;

    @ApiModelProperty(value = "购买方地址")
    private String buyerAddress;

    @ApiModelProperty(value = "购买方银行账号")
    private String buyerBankAccount;

    @ApiModelProperty(value = "合同编号")
    private String contractSn;

    @ApiModelProperty(value = "合同名称")
    private String contractName;

    @ApiModelProperty(value = "收款内容和备注")
    private String note;

    @ApiModelProperty(value = "本次收款金额")
    private BigDecimal payAmount;

    @ApiModelProperty(value = "价税合计")
    private BigDecimal taxAmount;

    @ApiModelProperty(value = "发票类型：3->增值税普通发票；4->增值税专用发票")
    private Integer billType;

    @ApiModelProperty(value = "提交时间")
    private String createTime;

    @ApiModelProperty(value = "发票状态：1->未开票；2->开票成功；3->开票失败；4->部分开票；5->开票中；6->已作废；7->已退回")
    private Integer status;

    @ApiModelProperty(value = "NC主表主键")
    private String pkNch;

    @ApiModelProperty(value = "NC时间")
    private String ts;

    @ApiModelProperty(value = "单据类型")
    private String djlx;

    @ApiModelProperty(value = "申请人名称")
    private String applyname;

    @ApiModelProperty(value = "申请人编码")
    private String applycdoe;

    @ApiModelProperty(value = "申请人日期")
    private String applydate;

    @ApiModelProperty(value = "无税金额")
    private BigDecimal wsje;

    @ApiModelProperty(value = "开票申请金额")
    private BigDecimal applyje;

    @ApiModelProperty(value = "发票号码")
    private String billNo;

    @ApiModelProperty(value = "发票代码")
    private String billCode;

    @ApiModelProperty(value = "红字申请单号")
    private String redapplycode;

    @ApiModelProperty(value = "客户主键")
    private String pkNccust;

    @ApiModelProperty(value = "客户编码")
    private String custcode;

    @ApiModelProperty(value = "蓝字发票号")
    private String blueBillNo;

    @ApiModelProperty(value = "蓝字发票代码")
    private String blueBillCode;

    @ApiModelProperty(value = "红字发票号")
    private String redBillNo;

    @ApiModelProperty(value = "红字发票代码")
    private String redBillCode;

    @ApiModelProperty(value = "作废人/创建人")
    private String createname;

    @ApiModelProperty(value = "作废时间/创建时间")
    private String cretime;

    @ApiModelProperty(value = "开票明细数据")
    private List<ImsCancleInvoiceItem> imsCancleInvoiceItems;

}
